home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok18.lha / IFFLib / Grabber.mod < prev    next >
Text File  |  1993-08-15  |  2KB  |  54 lines

  1. (*---------------------------------------------------------------------------
  2.     :Program.    Grabber.mod
  3.     :Author.     Fridtjof Siebert
  4.     :Address.    Nobileweg 67, D-7-Stgt-40
  5.     :Shortcut.   [fbs]
  6.     :Version.    1.0
  7.     :Date.       25-Feb-89
  8.     :Copyright.  PD
  9.     :Language.   Modula-II
  10.     :Translator. M2Amiga v3.1d
  11.     :Imports.    IFFLib [fbs]/Christian A. Weber
  12.     :Contents.   Demonstration for IFFLib. Saves first screen as iff-file.
  13.     :Remark.     You must have iff.library in your LIBS: directory.
  14.     :Remark.     Original Assembler-Version by Christian A. Weber
  15.     :Usage.      Grabber <Where to save Pic>
  16. ---------------------------------------------------------------------------*)
  17.  
  18. MODULE Grabber;
  19.  
  20. FROM SYSTEM    IMPORT ADR, ADDRESS;
  21. FROM Arts      IMPORT Terminate;
  22. FROM Arguments IMPORT NumArgs, GetArg;
  23. FROM Exec      IMPORT OpenLibrary, CloseLibrary;
  24. FROM Graphics  IMPORT ViewModes;
  25. FROM Intuition IMPORT IntuitionBase;
  26. FROM Terminal  IMPORT WriteString, WriteLn;
  27. FROM IFFLib    IMPORT SaveIFFFlagSet, SaveIFFFlags, SaveBitMap;
  28.  
  29. VAR
  30.   name: ARRAY[0..79] OF CHAR;
  31.   intuition: POINTER TO IntuitionBase;
  32.   i: INTEGER;
  33.   f: SaveIFFFlagSet;
  34.   b: BOOLEAN;
  35.   colTab: ADDRESS;
  36.  
  37. BEGIN
  38.   IF NumArgs()=0 THEN
  39.     WriteString("Usage: Grabber <filename>"); WriteLn;
  40.     WriteString("  saves first screen to filename."); WriteLn;
  41.     Terminate(0);
  42.   END;
  43.   GetArg(1,name,i);
  44.   intuition := ADDRESS(OpenLibrary(ADR("intuition.library"),NIL));
  45.   WITH intuition^.firstScreen^ DO
  46.     f := SaveIFFFlagSet{cmpByteRun1};
  47.     IF ham IN viewPort.modes THEN INCL(f,saveHAM) END;
  48.     colTab := viewPort.colorMap^.colorTable;
  49.     b := SaveBitMap(ADR(name),ADR(bitMap),colTab,f);
  50.   END;
  51.   CloseLibrary(ADDRESS(intuition));
  52. END Grabber.
  53.  
  54.